package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.HashMap;
import java.util.Map;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* <p>
* 京东账单导入VO
* </p>
*
* @author huangrensen
* @since 2024-05-17
*/
@Schema
@Data
public class JdBillImportVo implements Serializable {
    @ExcelProperty(value = "订单编号")
    private String orderNo;
    @ExcelProperty(value = "单据编号")
    private String documentNo;
    @ExcelProperty(value = "单据类型")
    private String documentType;
    @ExcelProperty(value = "商品编号")
    private String productCode;
    @ExcelProperty(value = "商户订单号")
    private String sellerNo;
    @ExcelProperty(value = "商品名称")
    private String productName;
    @ExcelProperty(value = "费用发生时间")
    private String feeHappenTime;
    @ExcelProperty(value = "费用计费时间")
    private String feeCalculateTime;
    @ExcelProperty(value = "费用结算时间")
    private String feeSettlementTime;
    @ExcelProperty(value = "费用项")
    private String feeProject;
    @ExcelProperty(value = "金额")
    private String feeAmount;
    @ExcelProperty(value = "币种")
    private String currency;
    @ExcelProperty(value = "商家应收/应付")
    private String sellerReceivePay;
    @ExcelProperty(value = "钱包结算备注")
    private String settlementRemark;
    @ExcelProperty(value = "店铺号")
    private String storeNo;
    @ExcelProperty(value = "京东门店编号")
    private String jdStoreNo;
    @ExcelProperty(value = "品牌门店编号")
    private String brandStoreNo;
    @ExcelProperty(value = "门店名称")
    private String shopName;
    @ExcelProperty(value = "备注")
    private String remark;
    @ExcelProperty(value = "收支方向")
    private String direction;
    @ExcelProperty(value = "账单日期")
    private String billDate;
    @ExcelProperty(value = "商品数量")
    private String qty;

    // 辅助字段
    @ExcelIgnore
    private String billMonth;

    @ExcelIgnore
    private Long storeId;

    @ExcelIgnore
    private String uuid;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("店铺ID", "storeId");
        map.put("订单编号", "orderNo");
        map.put("单据编号", "documentNo");
        map.put("单据类型", "documentType");
        map.put("商品编号", "productCode");
        map.put("商户订单号", "sellerNo");
        map.put("商品名称", "productName");
        map.put("费用发生时间", "feeHappenTime");
        map.put("费用计算时间", "feeCalculateTime");
        map.put("费用结算时间", "feeSettlementTime");
        map.put("费用项", "feeProject");
        map.put("金额", "feeAmount");
        map.put("币种", "currency");
        map.put("商家应收/应付", "sellerReceivePay");
        map.put("钱包结算备注", "settlementRemark");
        map.put("店铺号", "storeNo");
        map.put("京东门店编号", "jdStoreNo");
        map.put("品牌门店编号", "brandStoreNo");
        map.put("门店名称", "shopName");
        map.put("备注", "remark");
        map.put("收支方向", "direction");
        map.put("账单日期", "billDate");
        map.put("商品数量", "qty");
        return map;
    }
}
